﻿using INTEX.DataBase;
using INTEX.DataBase.Tools;
using ReflectionStudio.Core;
using ReflectionStudio.Core.Events;
using System;
using System.Collections;
using System.Collections.Generic;
using System.Data;
using System.Data.OracleClient;
using System.IO;
using System.Linq;
using System.Windows;
namespace WPFExcelReport
{
    public partial  class ITXEXRPT 
    {

        public void YCAFSAV95(DataSet db)
        {
            try
            {

                DataTable dtSoruce = db.Tables["ICC_ABPOS_MAT"];
                DataTable dtOutput = new DataTable();
                dtOutput.Columns.Add("ABID", typeof(System.String));
                dtOutput.Columns.Add("ABKKDAUFTNR", typeof(System.String));
                dtOutput.Columns.Add("ABEND", typeof(System.String));
                dtOutput.Columns.Add("ABPSPGRD", typeof(System.String));
                dtOutput.Columns.Add("ABPGESSTA", typeof(System.String));
                dtOutput.Columns.Add("QC", typeof(System.String));
                dtOutput.Columns.Add("KRS", typeof(System.String));
                dtOutput.Columns.Add("LFD", typeof(System.String));
                dtOutput.Columns.Add("PROGRP", typeof(System.String));
                dtOutput.Columns.Add("PROGRPD", typeof(System.String));
                dtOutput.Columns.Add("SECTION", typeof(System.String));
                /*dtOutput.Columns.Add("ARTGRP", typeof(System.String));
                dtOutput.Columns.Add("ARTGRPD", typeof(System.String));
                dtOutput.Columns.Add("MATART", typeof(System.String));
                dtOutput.Columns.Add("MATARTD", typeof(System.String));*/
                dtOutput.Columns.Add("EXTFTYNAME", typeof(System.String));        
                dtOutput.Columns.Add("ABPART", typeof(System.String));
                dtOutput.Columns.Add("ARTDES", typeof(System.String));
                dtOutput.Columns.Add("PHOTOLINK", typeof(System.String));
                dtOutput.Columns.Add("ABPVAR", typeof(System.String));
                dtOutput.Columns.Add("ABPFARBE", typeof(System.String));
                dtOutput.Columns.Add("CDES", typeof(System.String));
                dtOutput.Columns.Add("MPRICE", typeof(System.String));
                dtOutput.Columns.Add("ARWERT", typeof(System.String));
                        
                dtOutput.Columns.Add("MAINFABRIC", typeof(System.String));
                dtOutput.Columns.Add("FSFINISHING", typeof(System.String));
                dtOutput.Columns.Add("SPREMARK", typeof(System.String));
                dtOutput.Columns.Add("TQTY", typeof(System.String));
                dtOutput.Columns.Add("DQTY", typeof(System.String));
                
               /* dtOutput.Columns.Add("RSSENDDAT", typeof(System.String));
                dtOutput.Columns.Add("RSGETDATE", typeof(System.String));
                dtOutput.Columns.Add("RSACSENDDATE", typeof(System.String));
                dtOutput.Columns.Add("RSACGETDATE", typeof(System.String));
                dtOutput.Columns.Add("RSACCDATE", typeof(System.String));
                dtOutput.Columns.Add("RSACCCOMMENTS", typeof(System.String));

                dtOutput.Columns.Add("RSSSTAMPSENDATE", typeof(System.String));*/
                dtOutput.Columns.Add("EMFSENDDAT", typeof(System.String));
                dtOutput.Columns.Add("EAFSENDDAT", typeof(System.String));
                dtOutput.Columns.Add("EACSENDATE", typeof(System.String));
                dtOutput.Columns.Add("ELABELDATE", typeof(System.String));

                dtOutput.Columns.Add("EREMARK", typeof(System.String));
                dtOutput.Columns.Add("ECHECKDAT", typeof(System.String));
                dtOutput.Columns.Add("EFCHECKDAT", typeof(System.String));
                dtOutput.Columns.Add("PRSAMPLEAPP", typeof(System.String));
                
                dtOutput.Columns.Add("TQTYD", typeof(System.String));
                dtOutput.Columns.Add("TQTYP", typeof(System.String));
                dtOutput.Columns.Add("PCQTY", typeof(System.String));
                dtOutput.Columns.Add("PCDQTY", typeof(System.String));
                dtOutput.Columns.Add("PCRATIO", typeof(System.String));

                dtOutput.Columns.Add("PPQTY", typeof(System.String));
                dtOutput.Columns.Add("PDQTY", typeof(System.String));

                dtOutput.Columns.Add("PCDAT", typeof(System.String));
                dtOutput.Columns.Add("PSDAT", typeof(System.String));
                dtOutput.Columns.Add("PSLAB", typeof(System.String));
                dtOutput.Columns.Add("PMOUT", typeof(System.String));

                dtOutput.Columns.Add("EPRODDATE", typeof(System.String));
                
                
                dtOutput.Columns.Add("PPENDAT", typeof(System.String));
                dtOutput.Columns.Add("PAENDAE", typeof(System.String));
                dtOutput.Columns.Add("PSTARTDATE", typeof(System.String));
                dtOutput.Columns.Add("PAENDSTOPDAT", typeof(System.String));
                dtOutput.Columns.Add("OTDRATIO", typeof(System.String));


                dtOutput.Columns.Add("PQCINDAT", typeof(System.String));
                dtOutput.Columns.Add("PQCINREMARK", typeof(System.String));
                dtOutput.Columns.Add("PQCMIDDAT", typeof(System.String));
                dtOutput.Columns.Add("PQCMIDREMARK", typeof(System.String));
                
                dtOutput.Columns.Add("PQCDAT", typeof(System.String));
                dtOutput.Columns.Add("PQC2QTY", typeof(System.String));
                dtOutput.Columns.Add("PQC2REMARK", typeof(System.String));
                
                
                dtOutput.Columns.Add("PREPRTNDAT", typeof(System.String));
                dtOutput.Columns.Add("PSAMRTDAT", typeof(System.String));
                dtOutput.Columns.Add("PQADAE", typeof(System.String));

                dtOutput.Columns.Add("PQAISSUE", typeof(System.String));
                dtOutput.Columns.Add("PQAREMARK", typeof(System.String));
                dtOutput.Columns.Add("UM", typeof(System.String));
                dtOutput.Columns.Add("RATIO", typeof(System.String));
                dtOutput.Columns.Add("S", typeof(System.String));
                dtOutput.Columns.Add("M", typeof(System.String));
                dtOutput.Columns.Add("L", typeof(System.String));
                dtOutput.Columns.Add("XL", typeof(System.String));
                dtOutput.Columns.Add("SP", typeof(System.String));
                dtOutput.Columns.Add("MP", typeof(System.String));
                dtOutput.Columns.Add("LP", typeof(System.String));
                dtOutput.Columns.Add("XLP", typeof(System.String));
                dtOutput.Merge(dtSoruce, false, MissingSchemaAction.Ignore);
                foreach (DataRow rx in dtOutput.Rows)
                { 
                    //rx["ARTGRPD"] = GetGB2312Value(rx["ARTGRPD"].ToString().Trim());
                    //rx["MATARTD"] = GetGB2312Value(rx["MATARTD"].ToString().Trim());
                    rx["PROGRPD"] = GetGB2312Value(rx["PROGRPD"].ToString().Trim());
                    rx["ARTDES"] =GetGB2312Value(rx["ARTDES"].ToString().Trim());
                    rx["CDES"] = GetGB2312Value(rx["CDES"].ToString().Trim());
                    rx["MPRICE"] = Convert.ToDecimal((rx["MPRICE"].ToString()))/1000;
                    rx["ARWERT"] = Convert.ToDecimal((rx["ARWERT"].ToString()))/1000;
                    rx["EXTFTYNAME"] = GetGB2312Value(rx["EXTFTYNAME"].ToString().Trim());                    
                    rx["MAINFABRIC"] = GetGB2312Value(rx["MAINFABRIC"].ToString().Trim());
                    //rx["RSACCCOMMENTS"] = GetGB2312Value(rx["RSACCCOMMENTS"].ToString().Trim());
                    rx["EREMARK"] = GetGB2312Value(rx["EREMARK"].ToString().Trim());
                    rx["PQC2REMARK"] = GetGB2312Value(rx["PQC2REMARK"].ToString().Trim());
                    rx["PQAISSUE"] = GetGB2312Value(rx["PQAISSUE"].ToString().Trim());
                    rx["PQAREMARK"] = GetGB2312Value(rx["PQAREMARK"].ToString().Trim());
                    rx["PPQTY"] = rx["TQTY"];
                    rx["PDQTY"] = Convert.ToDecimal((rx["PCQTY"].ToString())) - Convert.ToDecimal((rx["TQTY"].ToString()));                    
                }
               
                exAgent.DataTableToExcel(dtOutput, 2, 1); 
                int x =1;
                int y = 0;
                foreach (DataRow rx in dtOutput.Rows)
                {
                    x++; y = 17;
                    string str = rx["PHOTOLINK"].ToString();
                    EventDispatcher.Instance.RaiseStatus(str, StatusEventType.RunningProgress);
                    if (System.IO.File.Exists(str))
                    {
                        str = str.Replace("/", "\\");
                        exAgent.SetCellsPicture(x, y, str,40,60);
                    } 
                } 
            }
            catch (Exception ex)
            {
                Tracer.Error(ex.StackTrace, ex);
            }
            finally
            {
                EventDispatcher.Instance.RaiseStatus("完成", StatusEventType.StopProgress);
            }
        }
  
    }
}